This invention relates to a graphics microcomputer which performs graphical processing.
With the increase in the resolution achievable by output devices such as laser beam printers and display terminals, the volume of data processing for generating geometric figures and characters is constantly growing and correspondingly high-speed processing is desired. Data processing for this purpose is often implemented by graphics systems that use general-purpose microcomputers or by systems that use graphic micro-computers which are exclusively used for drawing geometric figures. Graphic operations that are to be implemented with those systems include the drawing of straight-line segments and curved segments, as well as the development of vector character fonts.
In drawing straight-line segments and curved segments by the graphics systems mentioned above, so-called "incremental" drawing algorithms are used which compute the increments of coordinates with respect to the point drawn just previously. To mention a few examples, Bresenham's algorithm using a DDA (digital differential analyzer) is frequently employed in drawing straight-line segments (Bresenham, J. E.; "Algorithm for Computer control of a Digital Plotter", IBM Syst. J., 4(1), pp. 25-30, 1965). Bresenham's DDA algorithm for arcs of circles is frequently employed in drawing circles and circular arcs (Bresenham, J. E.; "A Linear Algorithm for Incremental Digital Display of Circular Arcs", "CACM, 20(2), pp. 100-106, 1977). An algorithm by a differential method is known in the field of drawing Bezier curves (Newman, W. M. and Sproul, R. F.; "Principles of Interactive Computer Graphis", 2nd ed., McGraw-Hill Kougakusha, Ltd., pp. 309-331, 1979). The graphics systems described above take unduly long time if the central processing unit (CPU) is software-oriented in drawing line segments, so the necessary operations are often executed with hardware. But in this case, different drawing algorithms are used for drawing different line segments, so separate hardware is required for each of the drawing algorithms employed and the overall hardware becomes bulky as shown in FIG. 1, in which the numeral 1 denotes a CPU, the numeral 100 denotes a DDA circuit for Bresenham's straight lines, the numeral 101 denotes 101 is a DDA circuit for Bresenham's circles, the numeral 102 denotes 102 is a circuit for Bezier curves, the numeral 103 denotes a multiplexer, the numeral 104 denotes an address generating circuit, and the numeral 13 denotes a CPU interface bus. CPU 1 controls DDA circuits 100 and 101 and circuit 102. Circuits 100, 101 and 102 output a direction of movements with respect to the dot drawn just previously. The multiplexer 103 selects either one of the outputs from circuits 100, 101 and 102 and sends it to the address generating circuit 104. The address generating circuit 104 generates the address of a word containing the dot to be drawn next. An example of such graphics system that incorporates a dedicated circuit for each of the different drawing algorithms to be implemented is described in Kai, N. et al.; "A High-Speed Outline Font Rastering LSI", IEEE 1989 CICC Proceedings, 24.6, May 1989.